package com.scmt.hmzd.service;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.scmt.core.common.vo.Result;
import com.scmt.core.common.vo.PageVo;
import com.scmt.core.common.vo.SearchVo;
import com.scmt.hmzd.entity.HmOrder;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author
 **/
public interface IHmOrderService extends IService<HmOrder> {

    /**
     * 功能描述：实现分页查询
     *
     * @param hmOrder  需要模糊查询的信息
     * @param searchVo 排序参数
     * @param pageVo   分页参数
     * @return 返回获取结果
     */
    public IPage<HmOrder> queryHmOrderListByPage(HmOrder hmOrder, SearchVo searchVo, PageVo pageVo);

    /**
     * 功能描述： 导出
     *
     * @param hmOrder  查询参数
     * @param response response参数
     */
    public void download(HmOrder hmOrder, HttpServletResponse response);

    List<HmOrder> listUnRefundOrderAndOrderItems(int status, DateTime offsetMinute);

    void cancelOrders(List<HmOrder> orders);

    Map<String, Object> statisticsOrderData();


    List<Map<String, Object>> queryWeekData();

    IPage<HmOrder> queryOrderListDataByPage(HmOrder hmOrder, PageVo pageVo);

    List<HmOrder> listUnCloseOrder();


}
